/*
 * Copyright (C) 2009 Rafael Fernandes
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.phonebooksharing.services.ejb3.utils;

/**
 * Holds the constants used by the server.<p>
 * Some shouldn't be constants though
 * 
 * @author <a href='mailto:luizrafael@gmail.com'>Rafael Fernandes</a>
 *
 */
public interface IConstants {

    public static final int ACCOUNT_STATUS_PROCESSING = 0,
                            ACCOUNT_STATUS_ACTIVE = 1,
                            ACCOUNT_STATUS_INACTIVE = 2;

    public static final int TEXT_MESSAGE_STATUS_INBOX = 0,
                            TEXT_MESSAGE_STATUS_ARCHIVE = 1,
                            TEXT_MESSAGE_STATUS_DELETE = 2,
                            TEXT_MESSAGE_STATUS_EXPIRED = 3;

    public static final int TEXT_MESSAGE_TYPE_PRIVATE = 0,
                            TEXT_MESSAGE_TYPE_GROUP = 1,
                            TEXT_MESSAGE_TYPE_SHOUT = 2;

    public static final int RESPONSE_MESSAGE_TYPE_TEXT = 0,
                            RESPONSE_MESSAGE_TYPE_VOICE = 1;


    public static final int PRIVACY_IMAGE_GALLERY_ALLOWED    = 1,
                            PRIVACY_VIDEO_GALLERY_ALLOWED    = 1,
                            PRIVACY_WISHLIST_GALLERY_ALLOWED = 1,
                            
                            PRIVACY_CONTACT_ALL_CONTACTS = 0,//All My Contacts
                            PRIVACY_CONTACT_THIS_GROUP = 1,//This Group
                            PRIVACY_CONTACT_GRANT_SPECIFIC_GROUPS = 2,//Grant Specific Groups
                            PRIVACY_CONTACT_NONE = 3;//None of My Contacts (invisible)

    public static final String ROOT_FOR_IMAGES    = "/opt/data/image/",
                               ROOT_FOR_VIDEOS    = "/opt/data/video/",
                               ROOT_FOR_VOICE     = "/opt/data/voice/",
                               ROOT_FOR_POSTCARD  = "/opt/data/postcard/"
                               ;//TODO: make a property
    
    public static final String EULA_FILE_NAME     = "/opt/data/eula.txt";
    
    /**Signifies an email address row that is stored in the ContactMethods table*/
    public static final int   CONTACT_METHOD_KIND_EMAIL        = 1;
    
    /** Signifies a postal address row that is stored in the ContactMethods table*/
    public static final int   CONTACT_METHOD_KIND_POSTAL       = 2;

    /** Signifies an IM address row that is stored in the ContactMethods table */
    public static final int   CONTACT_METHOD_KIND_IM           = 3;

    /** Signifies an Organization row that is stored in the Organizations table */
    public static final int   CONTACT_METHOD_KIND_ORGANIZATION = 4;

    /** Signifies an Phone row that is stored in the Phones table */
    public static final int   CONTACT_METHOD_KIND_PHONE        = 5;

    /**The type of the contact method, must be one of the types below.*/
    public static final int    CONTACT_METHOD_TYPE_CUSTOM      = 0,
                               CONTACT_METHOD_TYPE_HOME        = 1,
                               CONTACT_METHOD_TYPE_WORK        = 2,
                               CONTACT_METHOD_TYPE_OTHER       = 3;
    
    public static final String FAVORITES_GROUP_NAME = "Starred in Android";
    
    public static final int ASSYNC_TYPE_CONTACTS = 1;
    
    public static final int ASSYNC_TYPE_PHONES = 2;
    
    public static final int ASSYNC_TYPE_CONTACT_METHODS = 3;
    
    public static final int ASSYNC_TYPE_GROUPS = 4;
    
    public static final int ASSYNC_TYPE_GROUP_MEMBERS = 5;
    
    public static final int ASSYNC_TYPE_VOICE_MESSAGE = 6;
    
    public static final int ASSYNC_TYPE_POSTCARD_MESSAGE = 7;
    
}
